Computer based knowledge system

ABSTRACT

The present invention relates to a computer based knowledge system for assisting persons in making decisions and predictions using a computerized knowledge tree with fuzzy logic, statistics, and mathematics methods. The invention defines a knowledge tree structure to represent and store human or data-mining knowledge. The knowledge tree has decision/prediction output(s), knowledge, weights, input factors, etc. The knowledge system enables a user to build knowledge trees based on their knowledge, expert knowledge, and data-mining knowledge. The knowledge tree can be updated dynamically with knowledge mining functions or self-learning functions. A decision or prediction is made by calculating a knowledge tree based on the input factors.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a computerized knowledge system using knowledge tree, fuzzy logic, statistics, mathematics, and computer technologies for assisting persons in making decisions and predictions and sharing knowledge with others.

[0003] 2. Description of the Related Art

[0004] Today, many computerized decision-making methods and systems have been developed. One of the common goals of developing these methods and systems is to help people to make decisions and predictions more efficiently and systematically.

[0005] Let's look how an individual makes a decision or prediction normally. A decision-maker usually gathers all factors known to be related to a decision or prediction issue. The decision-maker makes a decision or prediction based on the current status or value of each factor, which is called a decision factor or prediction factor, using her/his knowledge or judgement. Finally, the decision-maker weights all decision factors or prediction factors with her/his judgement to make a final decision or prediction.

[0006] From the decision and prediction making process, we can see the following facts: 1) a decision and prediction process is a process of collecting and applying factors and knowledge; 2) a decision and prediction process is often repeatedly used as a module with either the same or enhanced knowledge; 3) when the results of a decision and prediction process deviate often from the actual outcomes or expectations, the knowledge and the decision process needs to be updated for future decision and prediction making; 4) deciding a factor status or value can be another decision and prediction process; 5) a decision and prediction result is heavily dependent on knowledge (judgment) and the selected decision or prediction factors, which are gathered together according to the decision-maker's knowledge; and 6) any single individual has limited knowledge. It is difficult to build a good and very complex decision or prediction process without sharing knowledge with others.

[0007] Based on the facts above, a computerized decision-making method or knowledge system should have the features that build a decision or prediction module easily, store knowledge efficiently, update and enhance knowledge easily, have self-learning abilities, and share knowledge easily. The present invention provides a new approach to develop a computerized decision-prediction making system to meet these goals.

[0008] U.S. Pat. No. 4,730,259, issued Mar. 8, 1988 to S. I. Gallant, describes an expert system which has an inference engine that produces an output in response to an external interface in which the inference engine's responses are conditioned by a matrix of learning coefficients. U.S. Pat. No. 6,012,051, issued Jan. 4, 2000 to Sammons, Jr., et al., discloses a decision system to enable consumers to choose big ticket items which prompts users to enter their preferences, including fuzzy values, and which includes attributes related to each product which are stored in a matrix or array and may be weighted. The attributes may be boolean, numeric, a range of numeric values, etc.

[0009] U.S. Pat. No. 4,860,214, issued Aug. 22, 1989 to Matsuda, et al., teaches an inference system dealing with fuzzy logic using possibility and probability distribution data and Dempster-Shafer's basic probability assignment. U.S. Pat. No. 5,463,718, issued Oct. 31, 1995 to Maeda, et al. describes a fuzzy logic learning method which uses teacher input data and a predetermined rule to calculate teacher output, verification input data and verification output calculated from the rule, and adjusts the rule to reduce the error until the difference in the error indicates overlearning.

[0010] Representative patents describing fuzzy controllers and filters for fuzzy logic systems include: U.S. Pat. No. 4,864,490, issued to Nomoto, et al.; U.S. Pat. No. 5,131,074, issued to Nakamura, et al.; U.S. Pat. No. 5,245,698, issued to N. Matsunaga; U.S. Pat. No. 5,251,288, issued to Nomura, et al.; U.S. Pat. No. 5,347,615, issued to Yamakawa, et al.; U.S. Pat. No. 5,398,303, issued to M. Tanaka; U.S. Pat. No. 5,432,885, issued to Nomoto, et al.; U.S. Pat. No. 5,479,567, issued to Shinmura, et al.; U.S. Pat. No. 5,586,217, issued to Ota, et al.; and Japanese Patent No. 7-191852, published Jul. 28, 1995.

[0011] None of the above inventions and patents, taken either singularly or in combination, is seen to describe the instant invention as claimed. In particular, none of the above patents teaches a method of making a decision or prediction by building a knowledge tree from knowledge nodes and knowledge cells and dynamically updating the nodes. Thus a computer based knowledge system solving the aforementioned problems is desired.

SUMMARY OF THE INVENTION

[0012] The present invention develops a method to build a computerized knowledge system for assisting individuals in making decisions and predictions. The invention is based on common sense observations about common human decision making processes. The invention is implemented by using existing technologies and methods such as mathematics, statistics, fuzzy logic, data mining, and so on. The invention focuses on system scalability, knowledge storing, knowledge learning, knowledge scalability, and knowledge sharing.

[0013] The invention uses a two-dimensional matrix and digitized knowledge values (for example, fuzzy values) to store basic knowledge in a structure called a knowledge cell. The knowledge cells can be populated by different input and learning methods such as user entry, survey, and data mining. The invention provides a method to build a knowledge node that is comprised of a knowledge cell and other components. The knowledge node is a basic decision-prediction unit for building a knowledge or decision-prediction module. The invention provides a method of using knowledge nodes to build a knowledge tree as a knowledge or decision-prediction module. The invention provides methods of copying or linking other knowledge trees from any knowledge bases or systems for knowledge sharing. The invention provides a method of building knowledge bases with knowledge trees. The invention defines a method of converting a knowledge tree or knowledge object into programming code and executable objects with different computer languages and systems.

[0014] The invention develops a decision/prediction making method that calculates each node based on rules, input values, and input value weights in a knowledge tree from bottom (leaf nodes) to top (root node) to generate decisions or predictions. The invention provides a method to build a dynamical knowledge tree that may be updated dynamically. The invention provides a method to update knowledge using a self-learning function based on decision- prediction results and actual outcomes.

[0015] The invention provides architectures and business modules to build computerized knowledge bases, knowledge warehouses, knowledge systems, knowledge network systems, and knowledge portals that enable users to share knowledge and make decisions or predictions either as an individual or in a group.

[0016] Accordingly, it is a principal object of the invention to provide a computer based knowledge system for aiding a user of the system to make decisions and predictions.

[0017] It is another object of the invention to provide a computer based knowledge system which permits the user to build a knowledge tree for making decisions and predictions based upon user selected functions.

[0018] It is a further object of the invention to provide a computer based knowledge system which uses knowledge obtained from knowledge mining, including survey methods, data mining in databases, and user input to make decisions and predictions.

[0019] Still another object of the invention is to provide a computer based knowledge system having the capacity to dynamically update the knowledge upon which decisions and predictions are based.

[0020] It is an object of the invention to provide improved elements and arrangements thereof for the purposes described which is inexpensive, dependable and fully effective in accomplishing its intended purposes.

[0021] These and other objects of the present invention will become readily apparent upon further review of the following specification and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022]FIG. 1 is a graph illustrating a method for defining a knowledge cell.

[0023]FIG. 2 is a graphical representation of an array for storing a knowledge cell into a computer system.

[0024]FIG. 3 is a graph showing an example of defining a knowledge cell relating interest rates to stock market trends with fuzzy values.

[0025]FIG. 4 is a table showing an example of storing the knowledge cell defined in FIG. 3.

[0026]FIG. 5 is a table illustrating an example of mapping Boolean values into a knowledge cell scale.

[0027]FIG. 6 is a table illustrating an example of mapping option values into a knowledge cell scale.

[0028]FIG. 7 is a table illustrating an example of mapping ranged values into a knowledge cell scale.

[0029]FIG. 8 is a table showing an example of defining a knowledge index.

[0030]FIG. 9 is a block diagram illustrating a survey method for building knowledge cells or knowledge indexes.

[0031]FIG. 10 is a block diagram illustrating a knowledge mining method for building knowledge cells or knowledge indexes.

[0032]FIG. 11 is a block diagram illustrating a data entry method for building knowledge cells or knowledge indexes.

[0033]FIG. 12 is a block diagram illustrating function modules of a knowledge node.

[0034]FIG. 13 is a diagrammatic example of structure of a Hit-Miss matrix.

[0035]FIG. 14 is a block diagram showing the general structure of a knowledge tree.

[0036]FIG. 15 is a diagram of a module of a knowledge object.

[0037]FIG. 16 is a diagrammatic example of a knowledge tree with extended knowledge nodes and a knowledge object node.

[0038]FIG. 17 is an diagrammatic example of a knowledge tree with copied and linked sub-trees.

[0039]FIG. 18 is a block diagram example of a conference knowledge tree.

[0040]FIG. 19 is a block diagram illustrating function modules of a knowledge system.

[0041]FIG. 20 is a block diagram illustrating modules of a knowledge base.

[0042]FIG. 21 is a block diagram illustrating modules of a knowledge set.

[0043]FIG. 22 is a block diagram illustrating function modules of a knowledge builder.

[0044]FIG. 23 is a block diagram illustrating the functionality of a decision/prediction module.

[0045]FIG. 24 is a block diagram illustrating modules of a networking module.

[0046]FIG. 25 is a diagrammatic example of the network knowledge system architecture.

[0047]FIG. 26 is a block diagram illustrating modules of a knowledge portal.

[0048]FIG. 27 is a screen prototype illustrating major functions and a method of displaying the knowledge system when no table is selected.

[0049]FIG. 28 is a screen prototype illustrating major functions and a method of displaying knowledge bases when the selected table is empty.

[0050]FIG. 29 is a screen prototype illustrating a method of displaying knowledge bases, knowledge trees, selected knowledge tree structure, and knowledge tree node data on one screen when a knowledge tree selected.

[0051]FIG. 30 is a screen prototype illustrating a method of selecting an input decision function for each knowledge node.

[0052]FIG. 31 illustrates a method of defining knowledge node labels as a decision type.

[0053]FIG. 32 illustrates a method of defining knowledge node labels as a knowledge type.

[0054]FIG. 33 illustrates a method of defining the knowledge node values.

[0055]FIG. 34 illustrates a method of viewing knowledge tree functionality.

[0056]FIG. 35 illustrates a method of zooming function to view knowledge tree structure.

[0057]FIG. 36 illustrates the major functionality of a Knowledge Base Link.

[0058]FIG. 37 illustrates the major functionality of a Knowledge Object Builder.

[0059]FIG. 38 illustrates an input method for decision/prediction input data.

[0060]FIG. 39 diagrammatically illustrates the major functionality of knowledge mining.

[0061] Similar reference characters denote corresponding features consistently throughout the attached drawings.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0062] The present invention is a computerized method for making decisions and predictions. The process of making a decision or prediction normally needs to consider many factors. A decision or prediction based on one factor is defined as a basic decision or prediction. A factor normally has many statuses or values. For a given status or value of the factor, the knowledge we know is used as a decision or prediction. Therefore, a basic decision or prediction can be represented as an (n+1)×(n+1) array or matrix called a knowledge cell (KC). The graph 10 in FIG. 1 illustrates a method for defining a knowledge cell with a two-dimensional array or matrix in which input axis x represents factor values and output axis dp represents knowledge. The dimension n usually is a fixed number in a knowledge system for the implementation reason, i.e., for each knowledge tree the dimension n is selected based upon consideration of the number of input factor values and output values deemed relevant or desirable to the particular subject matter. The factor values and knowledge are mapped into values (0, . . . , n) using Fuzzy Logic, semantic methods, statistical methods, or mathematical methods. If the number of values and knowledge is greater than n or less than n, a mapping function will normalize them into [0, n] . The mapping process is known as knowledge digitizing. The digitized knowledge or knowledge cells are easily stored in the computer system. As we can see, a KC is a discrete knowledge function, dp=f(x). Therefore, the KC values can be easily processed using mathematical, statistical, and fuzzy logic methods. It is a feature of the present invention that dp=f(x) is a single-valued function, i.e., for each x, the function f(x) generates a single dp. Thus the domain of f(x) has the same number of members as the range of f(x), both being equal to [0, . . . , n]. This results in ease of implementation, particularly in storage of the array, as set forth below.

[0063] The table 12 in FIG. 2 graphically illustrates the allocation of storage space for a KC array in the computer system, which only needs 3(n+l) storage spaces (input labels, output labels, and output values), i.e., each n has three values associated with it, as illustrated in FIGS. 3 and 4.

[0064] The graph 14 in FIG. 3 is an example of a knowledge cell with n=10 (mapped on the y-axis) in which the KC represents the interest rates vs. stock price trends based on an “expert” knowledge. The KC defines eleven fuzzy values for interest rate as the input value range, labeled from “Extremely Low” to “Extremely High”. When given an input value, there is one, and only one, corresponding output value or stock price trend value, labeled from “Extremely Bearish” to Extremely Bullish” and quantified numerically with an integer output value from 0 to 10. For example, the stock price trend will be dp=2 or bearish when the interest rate is considered as very high or x=9. The table 16 in FIG. 4 shows graphically how the KC in FIG. 3 is allocated in storage space.

[0065] The output value may be mapped to a Boolean value (viz., true or false, yes or no, etc.), an option (buy, sell, hold, etc.), a range of values, or other interpretative response to a decision question or prediction question. The table 18 in FIG. 5 shows an example of mapping Boolean values into knowledge cell scale [0, n], where n=10. The table 20 in FIG. 6 shows an example of option values into knowledge cell scale [0, n], where n=10. When option values are more than n, we can use more than one knowledge cell or ranged values to represent them. The table 22 in FIG. 7 shows an example of mapping ranged values into knowledge cell scale [0, n], where n=10. When ranged values are more than n, we can use more than one knowledge cell or increase range to represent them.

[0066] Since the input value of KC indicates which knowledge or output value of KC is selected as a decision or prediction, the invention defines the input range of the KC as Knowledge Index (KI) and the input value as knowledge index value. For purpose of this application, the “Knowledge Index (KI)” is defined as the scale of “knowledge index values”, and comprises a plurality of knowledge index values. For example, in FIG. 3, the coordinates from 0 through 10 along the X-axis is a Knowledge Index (KI), and the coordinate 4, or “Slight Neutral”, along the X-axis is one of the knowledge index values within that KI. Similarly, the coordinates from 0 through 10 along the Y-axis is a second Knowledge Index, and the coordinate 8, or “Bullish”, is a knowledge index value or decision value within that KI. The knowledge index values within the KI along the X-axis are referred to herein as an “input index” or an “input value”. The knowledge index values within the KI along the Y-axis are referred to herein as an “output index”, “output value” or “output knowledge value”.

[0067] The table 24 in FIG. 8 is an example of a Fuzzy Knowledge Index (Consumer Confident Index) with n=10 that assumes the knowledge index values based on a survey of M expert's opinions or votes (viz., there are 10% of M experts that vote that the knowledge index value is 6). Sometimes, the knowledge index values, especially Fuzzy Knowledge Index values, are dependent on the expert's views or opinions. Therefore, creating or publishing common knowledge indexes with expert opinions is a way to share knowledge and make the decision/prediction more universal and acceptable. The knowledge indexes can be published on a network server, web portal site, or other media and may be updated periodically or at run-time. The knowledge indexes can be dynamically linked as inputs of the decision and prediction module or unit.

[0068] The process of obtaining knowledge from existing data or knowledge is referred to herein as Knowledge Mining. Knowledge Mining normally includes an aggregation process (data mining) and a data normalization process. The aggregation process will analyze and group mass data. The data normalization process will map, edit, digitize, and/or convert aggregation data into a specified knowledge cell or index scale.

[0069] The following are some commonly used aggregation functions that stratify s data items into n groups and aggregate each group with a specified method a_(m) like average, maximum, etc. a₁(X₁, …  , X_(n)) = Avg(x₁, …  , x_(s), n) a₂(X₁, …  , X_(n)) = Max(x₁, …  , x_(s), n) a₃(X₁, …  , X_(n)) = Min(x₁, …  , x_(s), n) a₄(X₁, …  , X_(n)) = Median(x₁, …  , x_(s), n) a₅(X₁, …  , X_(n)) = Sum(x₁, …  , x_(s), n)

[0070] The following is a data normalization function that maps the aggregated digitized knowledge data value into [0, n]: $\begin{matrix} {{{N(x)} = \left. k \middle| {X \in \left. \left\lbrack {{X_{\min} + {k*{dx}}},{X_{\min} + {\left( {k + 1} \right)*{dx}}}} \right. \right)} \right.}{where}{{X \in \left. \left\lbrack {X_{\min},{X\quad \max}} \right. \right)},{k = 0},\ldots \quad,n,\quad {{{and}\quad {dx}} = {\left| \frac{X_{\max} - X_{\min}}{n + 1} \middle| {{or}\quad {N(x)}} \right. = {\left. n \middle| X \right. = X_{\max}}}}}} & (1) \end{matrix}$

[0071]FIG. 9 illustrates a block diagram 26 of the survey method for building knowledge cells and knowledge indexes. The Survey Builder 28 provides functions and methods to design and build electronic survey forms or questionnaire forms and post the forms out through network, Internet, or other medium. The Aggregating Function 30 collects survey results and aggregates the results using a specified aggregation method or function. The Normalization Function 32 (shown in Equation (1) above) maps aggregated data into a knowledge cell 34 or knowledge index 36.

[0072]FIG. 10 illustrates a block diagram 38 of the data mining method to build knowledge cells and knowledge indexes. The Data Mining 40 can use existing data mining technologies such as structure query languages (SQL) to collect and aggregate raw data from databases and data files using a specified aggregation method or function. The Normalization Function 32 maps aggregated data into a knowledge cell or knowledge index.

[0073]FIG. 11 illustrates a block diagram 42 of the data entry method to build knowledge cells and knowledge indexes. The Interface Function 44 provides a knowledge cell input form or knowledge index form that enables a user to enter knowledge directly into a knowledge cell or knowledge index through an existing computer input device 46 (such as mouse, keyboard, etc.).

[0074] The survey 26, data mining 38, and data entry 42 methods together are called knowledge mining. The three methods can be used separately or jointly.

[0075]FIG. 12 illustrates a block diagram of the function components of a knowledge node (KN_(ij)) 48, where i,j are node indexes. The knowledge node attribute can be defined as either knowledge type or decision type. The knowledge type is based on knowledge stored in a knowledge cell, a decision function, and an input value to determine output value of the node 48 (see, for example, the Inflation Rate node in FIG. 31). The decision type is based only on using a decision function and input values to determine the output values of the node 48 (see, for example, the Stock Market node in FIG. 30), in which the knowledge cell's two axes are in linear relation (i.e. y=f(x)=x).

[0076] The components of the knowledge node 48 are defined as the following:

[0077] KC_(ij) is a knowledge cell as illustrated in FIG. 1.

[0078] r_(ij)=R_(ij)(e_(ij)) is a function to set KC_(ij) values to complementary values, where e_(ij) is a trigger. It is equal to Not (dp_(ij)), i .e., if the range is [0, . . . , 10], then the complement of the range is [10, . . . , 0], so that the complement of 0 is 10, the complement of 1 is 9, the complement of 2 is 8, etc. The user may select the complement of the knowledge cell values by selecting the complement button, seen in FIG. 29, when the reverse trend is more significant in decision making.

[0079] t_(ij)=T_(ij)(s_(ij)) is a schedule controller that sets running a schedule for the KN_(ij), where s_(ij), is assigned schedule values. A schedule might be used, e.g., when the user wishes to know when the stock market is extremely bullish, etc. The user may set the schedule value by selecting the schedule tab, seen in FIG. 24, and setting the appropriate value. Schedule controllers are known in other applications, and will not be further described.

[0080] P_(ij)ε{f₁, . . . , f_(q)}, q>0. p_(ij)=f_(k)(x_((i+1)1), . . . , x_((i+1)s), w_((i+1)1), . . . , w_((i+1)s), y₁, . . . , y_(m)) is an input decision function (IDF). x_((i+1)j)ε{dp_((i+1)j),c_((i+1)j)} is an input value of KN_(ij). dp_((i+1)j)ε(0, . . . , n) is the output of the KN_((i+1)j) (a child node of KN_(ij)). c_((i+1)j)ε(0, . . . n) is an input value from an input device, index file, or knowledge index mining function (dynamic link index). y₁, . . . y_(m) are option parameters of the function. w_((i+1)1), . . . w_((i+1)s) are output value weights of knowledge nodes KN_((i+1)j) such that w_((i+1)j)ε[0, 1] is a continuous value. The weight with ${\sum\limits_{j = 1}^{s}w_{{({i + 1})}j}} = 1$

[0081] is called a distribution weight scale. The weight of a node that is not associated with other nodes is called an independent weight scale, which means ${\sum\limits_{j = 1}^{s}w_{{({i + 1})}j}} > 0$

[0082] and $\sum\limits_{j = 1}^{s}w_{{({i + 1})}j}$

[0083] may not equal 1. The distribution weight scale defines a node's knowledge weight or value in the peer nodes. The independent weight scale defines a node's knowledge weight or value by itself. Two scales can coexist in a knowledge tree, but cannot coexist in the nodes with the same parent. The input decision functions define rules to decide an input value(s) of KC_(ij) based on input values and weights of the node. The rules can be defined by existing mathematical and statistical algorithms such as average value, median value, maximum or most optimistic value, minimum or most pessimistic value, distribution functions, etc. The invention introduces an input decision rule or function called Majority-Minority Input Decision Method that calculates majority or minority values based on input groups and weights first. Then it decides node input values based on specified strategy. The Majority-Minority Input Decision Method is defined as the following:

[0084] Define that p_(ij)=f(x_((i+1)1), . . . , x_((i+1)s), w_((i+1)1), . . . , w_((i+1)s), strategy).

[0085] The function f(x_((i+1)1), . . . , x_((i+1)s), w_((i+1)1), . . . , w_((i+1)s), strategy) is the Majority-Minority function.

[0086] p_(ij) is a set of return values of the Majority-Minority function.

[0087] i. Assume that N₀, . . . , N_(n) are the number of input values that fall into each kε[0,n] where $N_{k} = {\sum\limits_{j = 1}^{s}\left\{ {\left. {+ 1} \middle| k \right. = x_{{({i + 1})}j}} \right\}}$

[0088] ii. Assume that W₀, . . . , W_(n) are total weight for values 0, . . . n and $W_{k} = {\sum\limits_{j = 1}^{s}\left\{ {\left. {+ W_{{({i + 1})}j}} \middle| k \right. = x_{{({i + 1})}j}} \right\}}$

[0089] iii. Let {v₀, . . . , v_(n)}={W₀·N₀, . . . , W_(n)·N_(n)}

[0090] iv. Sort {v₀, . . . v_(n)} in descending order as S={V₀, . . . , V_(m)}|_([V) ₀ _(≧ . . . ≧V) _(m) _(≧0ΛV) _(i) _(ε(v) ₀ _(, . . . , v) _(n) _()]) where V_(m) is the last nonzero value and m≦n.

[0091] v. Assume that $P_{i} = \left. \frac{N_{j}}{\sum\limits_{k = 0}^{n}N_{k}} \middle| \left( {{v_{1} = {{{w_{j} \cdot N_{j}}\Lambda \quad i} = 0}},{\Delta \quad \ldots \quad m}} \right) \right.$

[0092] is the percentage of input numbers of value V_(i).

[0093] vi. Assume that S_(max)={V₀, . . . , V_(i)}|_((V) ₀ _(= . . . =V) _(i) _(, i≦m)) is a set with the maximum tie group.

[0094] vii. Assume that S_(min)={V_(j), . . . , V_(m)}|_((V) _(j) _(= =V) _(m) _(, j≧0)) is a set with the minimum tie group.

[0095] Strategy:

[0096] Majority Decision with Ties

[0097] p_(ij)=(k, P_(l)|_(V) _(l) _(=W) _(k) _(·N) _(k) _(εS) _(max) ₎

[0098] Majority Decision with Pessimism in Tie

[0099] p_(ij)=min(k, P_(l)|_(V) _(l) _(=W) _(k) _(·N) _(k) _(εS) _(max) ₎

[0100] Majority Decision with Median in Tie

[0101] p_(ij)=median(k, P_(l)|_(V) _(l) _(=W) _(k) _(·N) _(k) _(εS) _(max) ₎

[0102] Majority Decision with optimism in Tie

[0103] p_(ij)=max(k, P_(l)|_(V) _(k) _(=W) _(k) _(·N) _(k) _(εS) _(max) ₎

[0104] Majority Decision with Random in Tie

[0105] p_(ij)=random(k, P_(l)|_(V) _(l) _(=W) _(k) _(·N) _(k) _(εS) _(max) ₎

[0106] Minority Decision with Ties

[0107] p_(ij)=(k, P_(l)|_(V) _(l) _(=W) _(k) _(·N) _(k) _(εS) _(min) ₎

[0108] Minority Decision with Pessimism in Tie

[0109] p_(ij)=min(k, P_(l)|_(V) _(l) _(=W) _(k) _(·N) _(k) _(εS) _(min) ₎

[0110] Minority Decision with Median in Tie

[0111] p_(ij)=median(k, P_(l)|_(V) _(l) _(=W) _(k) _(·N) _(k) _(εS) _(min) ₎

[0112] Minority Decision with Optimism in Tie

[0113] p_(ij)=max(k, P_(l)|_(V) _(k) _(=W) _(k) _(·N) _(k) _(εS) _(min) ₎

[0114] Minority Decision with Random in Tie

[0115] p_(ij)=random(k, P_(l)|_(V) _(l) _(=W) _(k) _(·N) _(k) _(εS) _(min) ₎

[0116] d_(ij)=D_(ij)(q_(ij)) is a knowledge mining function that can update KC_(ij) values either at run time or in a building KN session, where q_(ij) is a knowledge mining function pointer or address. When the KC_(ij) of a knowledge node links a knowledge mining function and is updated dynamically at decision making or run time, the knowledge node is known as a Dynamic Knowledge Node (DKN).

[0117] dp_(ij)(t)={KC_(ij)(k)_(t),P₁} is the KN_(ij) or KC_(ij) output value(s) at time t with input values (k, P_(l))εp_(ij), where dp_(ij)(t)ε(0, . . . , n).

[0118] w_(ij)=W_(ij)(u_(ij))ε[0, 1] is the weight of dp_(ij), where u_(ij) is initially assigned a weight and W_(ij) is a function that calculates the final weight based on sibling knowledge nodes if the weight is in the distribution weight scale.

[0119] v_(ij)(t)ε(0, . . . , n) is the actual outcome value of the decision/prediction issue at time t.

[0120] M_(ij)={(MISSLOW_(l), HIT_(l),MISSHIGH_(l)), . . . , (MISSLOW_(n), HIT_(n), MISSHIGH_(n))} is a Hit-Miss Matrix.

[0121] C_(ij)(dp_(ij)(t), v_(ij)(t), p_(ij))→M_(ij) is a Hit-Miss Count function that adds 1 into one of the counters in Hit-Miss Matrix M_(ij) based on the dp_(ij)(t) value, v_(ij) value, and counting rules. The (MISSLOW_(i), HIT_(i), MISSHIGH_(i)) are counters for i=kεKC_(ij)(k). The counting rules define miss-low, hit, and miss-high value ranges. Table 50 in FIG. 13 is an example of the Hit-Miss Matrix with n=10 and k=4.

[0122] l_(ij=L) _(ij)(a_(ij),M_(ij)) is a learning function that updates KC_(ij) output values based on Hit-Miss Matrix data, where a_(ij) is a learning function pointer or address. The learning process is initiated by a learning event such as a learning timer (passed the specified time) or a learning counter (pass the specified runs). The following is an algorithm of the knowledge learning method:

[0123] For k=0, . . . , n do:

[0124] Let p>0 as a cut off miss ratio and q>0 as a cut off difference between miss-low and miss-high.

[0125] Let ${{Let}\quad R_{low}} = \frac{{MISSLOW}_{k} - {HIT}_{k}}{{MISSLOW}_{k} + {HIT}_{k} + {MISSHIGH}_{k}}$ ${{Let}\quad R_{high}} = \frac{{MISSHIGH}_{k} - {HIT}_{k}}{{MISSLOW}_{k} + {HIT}_{k} + {MISSHIGH}_{k}}$

[0126] as miss-low ratio.

[0127] Let

[0128] as miss-high ratio.

[0129] Case R_(low)>0 and R_(high)>0

[0130] If R_(low)−R_(high)>q and R_(low)>p then

[0131] Miss low is significant

[0132] l_(ij)(k)=+1 Increase KC value by 1

[0133] Else

[0134] If R_(high)−R_(low)>q and R_(high)>p then

[0135] Miss high is significant

[0136] l_(ij)(k)=−1 Decrease KC value by 1

[0137] Else

[0138] Miss is not significant or miss-low ratio is close to miss-high ratio

[0139] l_(ij)(k)=0 No change

[0140] End If

[0141] End If

[0142] Case R_(low)>0 and R_(high)≦0

[0143] If R_(low)>p then

[0144] Miss low is significant

[0145] l_(ij)(k)=+1 Increase KC value by 1

[0146] Else

[0147] Miss low is not significant

[0148] l_(ij)(k)=0 No change

[0149] End If

[0150] Case R_(low)≦0 and R_(high)>0

[0151] If R_(high)>p then

[0152] Miss high is significant

[0153] l_(ij)(k)=−1 Decrease KC value by 1

[0154] Else

[0155] Miss high is not significant

[0156] l_(ij)(k)=0 No change

[0157] End If

[0158] Case R_(low)≦0 and R_(high)≦0

[0159] Miss is less than Hit

[0160] l_(ij)(k)=0 No change

[0161] End Case

[0162] KC_(ij)(k)=KC_(ij)(k)+l_(ij)(k)

[0163] Next k

[0164]FIG. 14 is a general structure of a knowledge tree (KT) 52 built with knowledge nodes, where x_((i+1)j)ε{dp_((i+1)j), c_((i+1)j)}. The knowledge tree 52 is comprised of at least one knowledge node 54. Since the knowledge tree structure is close to human decision logic, is easily extended, and is easily processed in parallel because of the node's independent properties, therefore, using knowledge trees 52 one can build complex, scalable, sharable, and storage-efficient decision or prediction modules.

[0165]FIG. 15 is a block diagram of a Knowledge Object (KO) 56, where Read-Me enables a user to read the KO's definition and usage. The invention defines a method that enables users to create a programming-code or executable Knowledge Object (KO) 56 with a selected knowledge tree tailored to a specified computer language and system. The KO 56 can be executed independently, and can be embedded into other applications, equipment, devices, or systems as a component. It also can be linked as a node of a knowledge tree.

[0166]FIG. 16 is an example of a knowledge tree 58 with extended knowledge nodes 60 and a knowledge object node 62.

[0167]FIG. 17 is an example of building a knowledge tree 64 with a copied knowledge tree 66 and two linked knowledge trees 68 as sub-trees. The knowledge tree with linked sub-trees and/or dynamic nodes is called as a Dynamic Knowledge Tree (DKT).

[0168]FIG. 18 defines a special knowledge tree structure called a conference knowledge tree (CKT) 70 in which a root node 72 repeats copying or linking the same KT as its children nodes 74. It is useful to make a decision or prediction by team, where each team member uses the same knowledge tree and decision rules to make its own decision or prediction, then the root node makes the final decision or prediction based on the individual members' decision(s) or prediction(s).

[0169]FIG. 19 illustrates a block diagram of the major functional components of a Knowledge System (KS) 76. The knowledge system 76 is a software package running on different computer systems and in an Internet environment. The KB Connector 78 is a module that establishes a connection and transfers data between knowledge base 80 and other knowledge system modules. The Searching Engine 82 enables users to search knowledge systems, knowledge bases, knowledge sets, knowledge trees, knowledge indexes, knowledge objects, data files, databases, and so on in the knowledge system 76, network environment, and internet environment. The Administration Module 84 provides knowledge system administration functions that enable users to manage decision/prediction schedules, knowledge bases, knowledge network system, system security, etc.

[0170]FIG. 20 illustrates a block diagram of major data units of a Knowledge Base (KB) 80. The System Information Unit 86 maintains all system administration information such as internal and external knowledge set information, system security data, decision schedule information, networking data, and so on. The Function Unit 88 stores all knowledge queries, decision functions, knowledge-mining functions, database connection functions, knowledge-networking functions, etc. The Knowledge Unit 90 can have more than one Knowledge Set 92. The knowledge set 92 is built in a database. The knowledge sets 92 usually represent different categories. For example, we can setup knowledge sets 92 by industries such as Finance, Defense, Insurance, etc. The Reference Unit 94 includes reference code, label, report format, and format data, etc.

[0171]FIG. 21 illustrates a block diagram of major knowledge data structures of the Knowledge Set 92. The knowledge data is comprised of knowledge trees 94, knowledge objects 96, and knowledge indexes 98.

[0172] The invention uses three database tables (KT Header 100, KT Node 102, and KT Value 104) to define the knowledge tree structure. The header table 100 keeps tree-level information such tree address, running schedule, address of decision/prediction report, destination of output, learning schedule, etc. There is one record in the header table 100 for each knowledge tree 94. The node table 102 keeps all knowledge node data of knowledge trees. There is at least one record (root node) in the node table for each knowledge tree. The node record keeps node position, KC values, node source address, IDF address, Hit-Miss counts, address of knowledge mining function if the KC is created by knowledge mining function, etc. The value table 104 keeps decision or prediction results and actual results of the knowledge tree for self-learning functions and reports. The Knowledge Object table 96 keeps knowledge object pointers, addresses, or codes. The Knowledge Index table 98 keeps knowledge index addresses or knowledge indexes.

[0173]FIG. 22 illustrates a block diagram of major function components of the Knowledge Builder 106. The Knowledge Tree Builder 106 enables users to create or edit a selected knowledge tree. It also enables user to set execution plans, such as multiple tasks, multiple processes, execution schedules, report formats, report destinations, etc. The Knowledge Importing 108 enables users to copy or link other knowledge trees as sub-trees of the current knowledge tree. The Knowledge Mining 110 enables users to populate knowledge cell values and knowledge index values using knowledge-mining methods. The Testing and Simulation component 112 enables users to test and simulate decision or prediction making processes with testing data or historical data. The Knowledge Object Builder 114 enables users to create a programming code or executable object with a selected knowledge tree tailored to a specified computer language and system. The Display Module 116 provides functions to display a knowledge tree on the display devices.

[0174] Building a knowledge tree is a process of computerizing a decision/prediction module. After defining decision/prediction objective, factors, and relations of objective and factors, a knowledge tree can be built in the following major steps:

[0175] 1. Create a decision/prediction objective node as the root node of the knowledge tree using the knowledge node builder functions. Set the KC value of the node manually or using the knowledge mining function. Set other values, options, and input decision function for the node.

[0176] 2. Add a factor into the knowledge tree based on the relations. Convert a factor into a node or sub-tree with the knowledge mining, copying, or linking method. Select an input decision function for each node. Repeat this step until all factors are added into the knowledge tree.

[0177] A knowledge tree represents a decision/prediction module. A user can select a knowledge tree to make decision or prediction.

[0178]FIG. 23 illustrates a block diagram of major function components and processing flows of the Decision/Prediction Module 118. The KT Verification 120 verifies dynamical connections such as linked knowledge trees, knowledge objects, knowledge indexes, and knowledge mining queries. The Data Collector 122 updates all dynamical nodes by executing knowledge-mining queries and/or provides entry forms on the input devices to collect manual input data. The DP Processing 124 calculates each knowledge node from bottom to root using IDF of the node. The Report 126 generates decision/prediction reports and sends reports to specified destinations or output devices. The KT Learning 128 updates the Hit-Miss Matrix of the KT based on KT decision/prediction results and actual results. It updates all knowledge cells of the KT based on the Hit-Miss Matrix and updating schedule.

[0179] The decision or prediction processes calculate all nodes of the knowledge tree from bottom (leaf nodes) to top (root node). The sibling nodes can be processed in either parallel or sequential manner. The output value(s) of the root node are used as suggested decisions or predictions or as reference pointers of decision/prediction reports. The decision or prediction process includes the following major steps:

[0180] 1. Verify all nodes' dynamical connections (Sub-KT, KI, and KO).

[0181] 2. Verify all linked queries and knowledge mining functions.

[0182] 3. Run queries and knowledge mining functions to update dynamic knowledge nodes and knowledge indexes.

[0183] 4. Collect all manual input data for all leaf nodes.

[0184] 5. Start with the bottom level of the KT (leaf nodes) as current processing level.

[0185] 6. Generate each node's output value using IDF of the node at current level.

[0186] 7. Move up one level as current level and go to step 6 until the root node is calculated.

[0187] 8. Generate suggested decision or prediction reports based output value of the root.

[0188] 9. Deliver the reports to specified destinations.

[0189] 10. Update Hit-Miss data and knowledge cell values if necessary.

[0190]FIG. 24 illustrates a block diagram of major function components of the Networking Module 130. The networking module provides functions to communicate with other knowledge systems or computer application systems. The Security Layer component 132 is a safe guard of the knowledge system that verifies all incoming and outgoing data, access permissions, etc. The System Connection component 134 can establish connection to a specified system, server or web portal. The Data Processing component 136 processes data transfer functions, such packing/unpacking and data conversion, with designed knowledge data protocols.

[0191]FIG. 25 is an example of the architecture of a knowledge network system 138. The knowledge network system 138 can be setup using existing networking, Internet, and telecommunications technologies based on the knowledge system interface protocols. The knowledge network system 138 enables users to share knowledge and computer resources.

[0192]FIG. 26 illustrates a block diagram of the architecture of a Knowledge Portal 140. The knowledge portal 140 is comprised of three major parts that are Knowledge Warehouse 142, Searching Engine(s) 144, and Knowledge System(s) 146. The knowledge warehouse is comprised of the knowledge base(s) 148 that collect all knowledge data such as knowledge trees, knowledge objects, knowledge indexes, rules, functions, etc. built by experts. Each knowledge base 148 can represent one knowledge category and each knowledge set of the knowledge base 148 can represent a subcategory. The searching engine 144 enables user to search any knowledge data in the knowledge warehouse 142. The knowledge systems 146 are portal controllers that administer functions and components, such as the knowledge warehouse, knowledge collecting, knowledge searching, knowledge data traffic, portal security, decision-prediction making, etc.

[0193] The goal of building the knowledge or decision portal is to enable people sharing knowledge. The portal 140 provides expert knowledge (knowledge trees, knowledge indexes, knowledge objects, etc.) to organizations or public users. Users can use the knowledge on the portal 140 to make individual or conference decisions and predictions with their own knowledge (input). User can build new knowledge (knowledge trees, knowledge objects, etc.) with copying or linking functions.

[0194] In order to display knowledge data efficiently, the invention develops a method that enables user to view the knowledge base and knowledge data in one screen. The method divides the screen into four parts: knowledge base, knowledge list, knowledge structure, and knowledge detail. The knowledge base part uses tree structure to display all knowledge bases and tables in the knowledge system. The knowledge list displays all knowledge tree names, knowledge object names, or knowledge index names in the selected knowledge table. The knowledge structure displays a selected knowledge module's logical relation and structure in graph. The knowledge detail displays detail information of knowledge data (tree, object, and index). The size of each part can be changed based on a user's preference or knowledge data selection. Since knowledge bases, knowledge list, knowledge structure, and knowledge data are displayed on the same screen, it makes edit, copy, and link operations easy and explicit for the user.

[0195]FIG. 27 illustrates a screen prototype 150 of major function components of a knowledge system. The knowledge system enables a user to create, delete, link, print, and view knowledge bases, knowledge trees, knowledge objects, and knowledge indexes. The screen shows the knowledge bases when no knowledge table is selected.

[0196]FIG. 28 illustrates a screen that shows the knowledge bases with a selected empty knowledge table 152.

[0197]FIG. 29 illustrates how all knowledge bases and knowledge tables 154 are displayed with tree structure and how all knowledge trees 156 of a select knowledge table are displayed in the Knowledge Tree List. It also illustrates how a selected knowledge tree is displayed in knowledge tree structure 158 and how the current node's information shows in a tab object 160. The user can browse each node information of the knowledge tree. FIG. 28 shows an example of knowledge tree with three different kinds of knowledge nodes that has native nodes such as “Inflation Rate” 162, a linked node (“Home Sales”) 164 that links to a knowledge tree of another knowledge database or table, and an object node (“M2 Money Supply”) 166.

[0198]FIG. 30 illustrates a screen with a function list 168 for implementing the methods described above which enables the user to choose an input decision function for each knowledge node. The Unity check box 170 can enforce the sub-tree or all children nodes using the same input decision function as the current node uses.

[0199]FIG. 31 illustrates a screen method of defining labels 172 for the axes of a knowledge node as decision type.

[0200]FIG. 32 illustrates a screen method of defining labels 174 for the axes of a knowledge node as knowledge type.

[0201]FIG. 33 illustrates a screen method of defining, displaying and editing knowledge cell values by mouse clicking to place an entry in the appropriate cell of a matrix 176 after the fashion of a radio button.

[0202]FIG. 34 illustrates major function components of a knowledge view module that enable the user to view and print any selected knowledge data in the knowledge list. The module uses two parts, knowledge structure 178 and knowledge detail 180, to display a selected item of knowledge data. The size of knowledge structure part 178 can be changed so that user can have more space to view a big knowledge module. This feature enables the user to view a different knowledge data before linking or copying knowledge data within a knowledge building session.

[0203]FIG. 35 illustrates a zooming function that gives more screen space to view the knowledge data structure 178 on the screen.

[0204]FIG. 36 illustrates the major function components of a knowledge base link module 182 that enables a system user to link, remove, and verify multiple knowledge bases. The module uses a list object 184 to display names and addresses of all linked knowledge bases. The module defines a Link Information part 186 to display detail of a linked knowledge base. A user can select a linked knowledge base in the list and the link information part 186 will automatically display the detail link information of the knowledge base. This feature enables the user to build a virtual knowledge network system. Note that Oracle® is trademark of Oracle Corporation.

[0205]FIG. 37 illustrates a screen implementing the major function components of the knowledge object builder that enable a user to convert a knowledge tree or knowledge object into a programming-code or executable object with a specified computer programming language, object type, and computer system. The builder uses knowledge structure 178 and knowledge detail objects 180 to display selected knowledge data. User can modify the knowledge data in the builder. The builder uses list objects 188 and 190 to display computer language options, object type options, and computer system options that enable the user to specify or select the language, object type and system for the building object. The builder enables the user to specify a location for saving a knowledge object. Note that Apple, Borland, IBM, Microsoft Visual Basic, Microsoft Visual C++, Power Builder, and Sun Microsystems are trademarks of corresponding companies or corporations.

[0206]FIG. 38 illustrates a screen for implementing the major function components of a decision input module which enables the user to answer decision questions or import inputs from file or databases for a selected knowledge data or module. The module uses a list object 192 with n+1 choices in the form of radio buttons to display each question or input. User can browse all questions by scrolling, page down, or page up function.

[0207]FIG. 39 illustrates an example chart which might appear in a knowledge mining module screen. The screen itself might have a menu bar (not shown) with menu items that enable a user to create queries for the knowledge mining. The module also enables the user to import knowledge cell or index data from a data file or database. The module uses a (n+1)×(n+1) matrix 194 as knowledge cell working space and an 1×(n+1) array 196 as knowledge index working space. The module enables user to create one query or n+1 individual column query for the knowledge mining. The module enables user to edit knowledge-mining results on the screen.

[0208] The computer based knowledge system may be implemented through software written in Visual Basic, Visual C++, Java, or any other high-level language. The software is stored on any computer readable medium, and contains program code causing a microprocessor to execute a series of instructions when loaded in main memory. As used herein, computer readable medium includes a hard disk drive, a floppy drive or floppy disk, a compact disk drive or compact disk, a digital video disk (DVD) drive or DVD disk, a ZIP drive or ZIP disk, magnetic tape and any other magnetic medium, punch cards, paper tape, memory chips, or any other medium from which a computer can read.

[0209] It is to be understood that the present invention is not limited to the embodiments described above, but encompasses any and all embodiments within the scope of the following claims. 

I claim:
 1. A computer based knowledge system for making decisions and predictions, comprising: a) means for creating a plurality of knowledge cells, each knowledge cell having a domain of knowledge input indexes and a range of output knowledge values defining a single valued function; b) means for storing said plurality of knowledge cells; c) means for transforming at least one of said plurality of knowledge cells into a knowledge node, each said knowledge node having a knowledge cell structure including a domain of knowledge input indexes and a range of output knowledge values defining a function, each said knowledge node relating to a single factor utilized in making decisions and predictions; d) means for inputting a knowledge input variable; e) means for calculating and displaying an output knowledge value corresponding to said knowledge input variable based upon the function defined in said knowledge node.
 2. The computer based knowledge system according to claim 1, further comprising means for storing a plurality of knowledge nodes.
 3. The computer based knowledge system according to claim 1, further comprising means for building at least one knowledge node into a knowledge tree, each knowledge tree relating to a single decision or prediction, each knowledge node within said knowledge tree relating to a single separate factor relating to the decision or prediction.
 4. The computer based knowledge system according to claim 1, wherein said means for storing said knowledge cell further comprises an array for storing a knowledge value, a knowledge input index label, and a knowledge output label for each knowledge input index in said domain.
 5. The computer based knowledge system according to claim 1, wherein said means for creating a plurality of knowledge cells includes: a) means for direct user entry of said domain of knowledge input indexes and said range of output knowledge values; b) means for obtaining a domain of knowledge input indexes and a range of output knowledge values by data mining of a database and normalization of the data; and c) means for obtaining a domain of knowledge input indexes and a range of output knowledge values by survey responses and normalization of the survey responses.
 6. The computer based knowledge system according to claim 5, further comprising means for editing output knowledge values obtained from said direct user entry means, said data mining means and said survey response means.
 7. The computer based knowledge system according to claim 1, wherein said means for transforming includes a plurality of user selectable majority-minority input decision functions for determining an output knowledge value corresponding to a knowledge input index based upon maximum, minimum, and median knowledge values in an aggregate of knowledge cells forming said knowledge node.
 8. The computer based knowledge system according to claim 7, further comprising: a) means for determining a majority response where said aggregate of knowledge cells is evenly divided between at least two different majority output knowledge values for a given index; b) means for determining a minority response where said aggregate of knowledge cells is evenly divided between at least two different minority output knowledge values for a given index; and c) wherein said plurality of user selectable majority- minority input decision functions includes at least two functions selected from the group consisting of: i) a majority decision with ties function returning all of said majority output knowledge values; ii) a majority decision with pessimism in tie function returning a minimum output knowledge value from said majority output knowledge values; iii) a majority decision with median in tie function returning a median output knowledge value from said majority output knowledge values; iv) a majority decision with optimism in tie function returning a maximum output knowledge value from said majority output knowledge values; v) a majority decision with random in tie function returning a random output knowledge value from said majority output knowledge values; vi) a minority decision with ties function returning all of said minority output knowledge values; vii) a minority decision with pessimism in tie function returning a minimum output knowledge value from said minority output knowledge values; viii) a minority decision with median in tie function returning a median output knowledge value from said minority output knowledge values; ix) a minority decision with optimism in tie function returning a maximum output knowledge value from said minority output knowledge values; and x) a minority decision with random in tie function returning a random output knowledge value from said minority output knowledge values.
 9. A computer software product that includes a computer readable medium, the medium having stored thereon a set of instructions for creating and operating a computer based knowledge system comprising: a) a first sequence of instructions which, when executed by the computer, causes said computer to create a plurality of knowledge cells, each knowledge cell having a domain of knowledge input indexes and a range of output knowledge values defining a single valued function; b) a second sequence of instructions which, when executed by the computer, causes said computer to store said plurality of knowledge cells; c) a third sequence of instructions which, when executed by the computer, causes said computer to transform at least one of said plurality of knowledge cells into a knowledge node, each said knowledge node having a knowledge cell structure including a domain of knowledge input indexes and a range of output knowledge values defining a function, each said knowledge node relating to a single factor utilized in making decisions and predictions; d) a fourth sequence of instructions which, when executed by the computer, causes said computer to receive a knowledge input variable; e) a fifth sequence of instructions which, when executed by the computer, causes said computer to calculate and display an output knowledge value corresponding to said knowledge input variable based upon the function defined in said knowledge node.
 10. The computer software product according to claim 9, further comprising a sequence of instructions which, when executed by the computer, causes said computer to store a plurality of knowledge nodes.
 11. The computer software product according to claim 9, further comprising a sequence of instructions which, when executed by the computer, causes said computer to build at least one knowledge node into a knowledge tree, each knowledge tree relating to a single decision or prediction, each knowledge node within said knowledge tree relating to a single separate factor relating to the decision or prediction.
 12. The computer software product according to claim 9, further comprising a sequence of instructions which, when executed by the computer, causes said computer to store said knowledge cell in an array having storage locations for a knowledge value, a knowledge index label, and a knowledge output label for each knowledge input index in said domain.
 13. The computer software product according to claim 9, further comprising a sequence of instructions which, when executed by the computer, causes said computer to create a knowledge cell, including: a) instructions for direct user entry of said domain and range values; b) instructions for obtaining a domain of knowledge input indexes and a range of output knowledge values by data mining of a database; and c) instructions for obtaining a domain of knowledge input indexes and a range of output knowledge values by survey.
 14. The computer software product according to claim 9, a sequence of instructions which, when executed by the computer, permits editing output knowledge values obtained from said direct user entry means, said data mining means and said survey response means.
 15. The computer software product according to claim 9, further comprising a sequence of instructions which, when executed by the computer, causes said computer to perform a plurality of user selectable majority-minority input decision functions for determining an output knowledge value corresponding to a knowledge input index based upon maximum, minimum, and median knowledge values in an aggregate of knowledge cells forming said knowledge node.
 16. The computer software product according to claim 15, further comprising: a) a sequence of instructions for determining a majority response where said aggregate of knowledge cells is evenly divided between at least two different majority output knowledge values for a given index; b) a sequence of instructions for determining a minority response where said aggregate of knowledge cells is evenly divided between at least two different minority output knowledge values for a given index; and c) wherein said plurality of user selectable majority-minority input decision functions includes at least two functions selected from the group consisting of: i) a majority decision with ties function returning all of said majority output knowledge values; ii) a majority decision with pessimism in tie function returning a minimum output knowledge value from said majority output knowledge values; iii) a majority decision with median in tie function returning a median output knowledge value from said majority output knowledge values; iv) a majority decision with optimism in tie function returning a maximum output knowledge value from said majority output knowledge values; v) a majority decision with random in tie function returning a random output knowledge value from said majority output knowledge values; vi) a minority decision with ties function returning all of said minority output knowledge values; vii) a minority decision with pessimism in tie function returning a minimum output knowledge value from said minority output knowledge values; viii) a minority decision with median in tie function returning a median output knowledge value from said minority output knowledge values; ix) a minority decision with optimism in tie function returning a maximum output knowledge value from said minority output knowledge values; and x) a minority decision with random in tie function returning a random output knowledge value from said minority output knowledge values.
 17. A computerized method for making decisions and predictions, comprising the steps of: a) creating a plurality of knowledge cells, each knowledge cell having a domain of knowledge input indexes and a range of output knowledge values defining a single valued function; b) storing said plurality of knowledge cells; c) transforming at least one of said plurality of knowledge cells into a knowledge node, each said knowledge node having a knowledge cell structure including a domain of knowledge input indexes and a range of output knowledge values defining a function, each said knowledge node relating to a single factor utilized in making decisions and predictions; d) inputting a knowledge input variable; e) calculating and displaying an output knowledge value corresponding to said knowledge input variable based upon the function embodied in said knowledge node.
 18. The computerized method according to claim 17, further comprising the step of storing a plurality of knowledge nodes.
 19. The computerized method according to claim 17, further comprising the step of building at least one knowledge node into a knowledge tree, each knowledge tree relating to a single decision or prediction, each knowledge node within said knowledge tree relating to a single separate factor relating to the decision or prediction.
 20. The computerized method according to claim 17, further comprising the step of storing a knowledge value, a knowledge index label, and a knowledge output label for each knowledge input index in said domain.
 21. The computerized method according to claim 17, wherein the step of creating a knowledge cell further includes: a) obtaining a domain of knowledge input indexes and a range of output knowledge values by direct user entry of said domain and range values; b) obtaining a domain of knowledge input indexes and a range of output knowledge values by data mining of a database; and c) obtaining a domain of knowledge input indexes and a range of output knowledge values by survey.
 22. The computerized method according to claim 21, further comprising the step of editing output knowledge values obtained from said direct user entry means, said data mining means and said survey response means.
 23. The computerized method according to claim 17, further comprising the step of selecting a majority-minority input decision function for determining an output knowledge value corresponding to a knowledge input index based upon maximum, minimum, and median knowledge values in an aggregate of knowledge cells forming said knowledge node.
 24. The computerized method according to claim 17, further comprising the step of determining at least one majority output knowledge value predicted by a majority of said plurality of knowledge cells in said knowledge node for each given knowledge input index in said domain.
 25. The computerized method according to claim 24, further comprising the step of predicting all of said majority output knowledge values for a given knowledge input index when at least two different majority knowledge output values are predicted by an equal number of said plurality of knowledge cells in said knowledge node.
 26. The computerized method according to claim 24, further comprising the step of predicting the highest value of said at least one majority output knowledge value for a given knowledge input index when at least two different majority knowledge output values are predicted by an equal number of said plurality of knowledge cells in said knowledge node.
 27. The computerized method according to claim 24, further comprising the step of predicting the lowest value of said at least one majority output knowledge value for a given knowledge input index when at least two different majority knowledge output values are predicted by an equal number of said plurality of knowledge cells in said knowledge node.
 28. The computerized method according to claim 24, further comprising the step of predicting the median value of said at least one majority output knowledge value for a given knowledge input index when at least two different majority knowledge output values are predicted by an equal number of said plurality of knowledge cells in said knowledge node.
 29. The computerized method according to claim 24, further comprising the step of predicting a random value selected from said at least one majority output knowledge value for a given knowledge input index when at least two different majority knowledge output values are predicted by an equal number of said plurality of knowledge cells in said knowledge node.
 30. The computerized method according to claim 17, further comprising the step of determining at least one minority output knowledge value predicted by a minority of said plurality of knowledge cells in said knowledge node for each given knowledge input index in said domain.
 31. The computerized method according to claim 30, further comprising the step of predicting all of said minority output knowledge values for a given knowledge input index when at least two different minority knowledge output values are predicted by an equal number of said plurality of knowledge cells in said knowledge node.
 32. The computerized method according to claim 30, further comprising the step of predicting the highest value of said at least one minority output knowledge value for a given knowledge input index when at least two different minority knowledge output values are predicted by an equal number of said plurality of knowledge cells in said knowledge node.
 33. The computerized method according to claim 30, further comprising the step of predicting the lowest value of said at least one minority output knowledge value for a given knowledge input index when at least two different minority knowledge output values are predicted by an equal number of said plurality of knowledge cells in said knowledge node.
 34. The computerized method according to claim 30, further comprising the step of predicting the median value of said at least one minority output knowledge value for a given knowledge input index when at least two different minority knowledge output values are predicted by an equal number of said plurality of knowledge cells in said knowledge node.
 35. The computerized method according to claim 30, further comprising the step of predicting a random value selected from said at least one minority output knowledge value for a given knowledge input index when at least two different minority knowledge output values are predicted by an equal number of said plurality of knowledge cells in said knowledge node. 